package cn.tedu.spring.example;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 测试类
 */
public class TestUser {
    public static void main(String[] args) {
        /*
            1.让Spring Framework框架创建IoC容器 并且把创建的Spring Bean对象放入IoC容器中
            2.通过context.getBean(传参:类对象)方法 获取Spring Bean对象
            3.测试: 调用run方法

            ★ Spring Bean对象 反射或Spring创建的java对象 本身与普通new创建的对象没有区别 名称不同
              只是为了区分是谁创建了对象
         */
        // ApplicationContext接口 创建容器用于存放框架创建的对象
        // 框架会扫描所有指定路径下的子项 查询添加指定注解的类
//                                          注解     配置  申请/应用程序  接口-此处作用为提供依赖注入
        ApplicationContext context = new AnnotationConfigApplicationContext(
                "cn.tedu.spring.example");
//        获取该对象 通过context.getBean(传参:类对象)方法
        User user = context.getBean(User.class);
//        调用run方法测试
        user.run();
    }
}
